diff --git a/cpu/ixp/pci.c b/cpu/ixp/pci.c
index 33c1cff..84c4339 100644
--- a/cpu/ixp/pci.c
+++ b/cpu/ixp/pci.c
@@ -68,47 +68,6 @@
 PciBar *ioBars[IXP425_PCI_MAX_BAR];
 PciDevice devices[IXP425_PCI_MAX_FUNC_ON_BUS];
 
-void out_8 (volatile unsigned *addr, char val)
-{
-	*addr = val;
-}
-
-void out_le16 (volatile unsigned *addr, unsigned short val)
-{
-	*addr = cpu_to_le16 (val);
-}
-
-void out_le32 (volatile unsigned *addr, unsigned int val)
-{
-	*addr = cpu_to_le32 (val);
-}
-
-unsigned char in_8 (volatile unsigned *addr)
-{
-	unsigned char val;
-
-	val = *addr;
-	return val;
-}
-
-unsigned short in_le16 (volatile unsigned *addr)
-{
-	unsigned short val;
-
-	val = *addr;
-	val = le16_to_cpu (val);
-	return val;
-}
-
-unsigned in_le32 (volatile unsigned *addr)
-{
-	unsigned int val;
-
-	val = *addr;
-	val = le32_to_cpu (val);
-	return val;
-}
-
 int pci_read_config_dword (pci_dev_t dev, int where, unsigned int *val)
 {
 	unsigned int retval;
@@ -556,9 +515,9 @@
 		pci_write_config_dword (devices[i].device,
 					PCI_CFG_BASE_ADDRESS_0,
 					devices[i].bar[0].address);
-		addr = (BIT (31 - devices[i].device) |
+		addr = BIT (31 - devices[i].device) |
 			(0 << PCI_NP_AD_FUNCSL) |
-			(PCI_CFG_BASE_ADDRESS_0) ) & ~3;
+			(PCI_CFG_BASE_ADDRESS_0 & ~3);
 		pci_write_config_dword (devices[i].device,
 					PCI_CFG_DEV_INT_LINE, devices[i].irq);
 
